namespace BadHabit.Factory
{
    public enum ProposalRejectReasons : short
    {
        REJECT_PRICE,
        REJECT_DEADLINE,
        REJECT_INSUFICIENT_TEAM_SKILLS,
        REJECT_PROJECT_ABORTED,
        REJECT_OTHER_PROPOSAL_FOR_SAME_PROJECT,
        REJECT_UNKNOW
    }

    public enum RiskImpact : short
    {
        NONE,
        LOW,
        MEDIUM,
        HIGH
    }

    public enum RiskProbability : short
    {
        NONE,
        LOW,
        MEDIUM,
        HIGH
    }

    public enum BacklogItemCancelReasons : short
    {
        UNKNOW,
        NO_MORE_BUSINESS_VALUE,
        BAD_DEFINITION,
        ALREADY_IMPLEMENTED,
        BREAKED_IN_MORE_ITEMS
    }

    public enum ProjectStatus : short
    {
        CREATION,
        PROPOSAL_CREATION,
        PROPOSAL_WAITING,
        PROPOSAL_APPROVED,
        PROPOSAL_REJECTED,
        PROJECT_STARTED,
        PROJECT_TESTFASE,
        PROJECT_MAINTANCE,
        PROJECT_DONE,
        PROJECT_CANCELED,
        PROJECT_SUSPENDED
    }

    public enum ProjectAccessMode : short
    {
        ALL_SEE_ALL_WORK,
        ALL_SEE_TEAM_WORK
    }

    public enum ProposalStatus : short
    {
        NO_PROPOSAL,
        PROPOSAL_CREATION,
        PROPOSAL_WAITING,
        PROPOSAL_APPROVED,
        PROPOSAL_REJECTED
    }

    public enum TaskStatus : short
    {
        CREATION,
        TASK_REQUIRED,
        TASK_WORKINGON,
        TASK_VALIDATING,
        TASK_DONE,
        TASK_CANCELED
    }

    public enum BacklogItemStatus : short
    {
        REQUIRED,
        WORKING,
        DONE,
        CANCELED
    }

    public enum TeamRoles : short
    {
        FACTORY_OWNER,
        SCRUM_MASTER,
        PRODUCT_OWNER,
        TEAM,
        QUALITY_ASSURANCE,
        COMMERCIAL_GUY,
        CLIENT_CONTACT
    }

    public enum HourBankMode : short
    {
        NOT_BANKPROJECT,
        PLANNED_EFFORT,
        ACTUAL_EFFORT,
        WORST_CASE
    }

    public enum TaskTypes : short
    {
        PROJECT_TASK,
        DEVELOPING_BUG,
        AFTER_DELIVERY_BUG,
        TEST_TASK,
        IMPEDIMENT
    }
}